package cn.com.zhaoweiping.ie;

import cn.com.zhaoweiping.ie.RowReadStatus.Status;
import java.io.File;
import java.util.List;

/**
 * 读数据上下文<br>
 *
 * @author 冰羽
 * @version 2.2.0
 */
public interface ReadContext<T> {

  /**
   * 是否可以移除该上下文
   *
   * @return
   */
  boolean removable();

  /**
   * 获取Excel中Sheet的总数
   *
   * @return
   */
  int getSheetCounts();

  /**
   * 数据读取状态
   *
   * @return
   */
  Status readStatus();

  /**
   * 文件读取状态
   *
   * @return
   */
  Status readExcelStatus();

  /**
   * 读取文件数据
   *
   * @return
   */
  List<T> read();

  /**
   * 设置当前文件
   *
   * @param file
   */
  void setFile(File file);

  /**
   * 获取当前文件
   *
   * @return
   */
  File getFile();
}
